Перейти к основному содержимому

Загрузка курсов

Загрузка курсов

Помимо создания новых курсов, функция загрузки курсов может использоваться для обновления или удаления курсов, а также для импорта содержимого из другого курса. Для получения информации о том, как использовать эту функцию для создания шаблонов курсов, см. Добавление нового курса.

Наряду с администратором, роль Менеджер теперь имеет возможность tool/uploadcourse:use, которая позволяет загружать файл .CSV с информацией о курсе. (Другим пользователям также может быть предоставлена эта возможность, но им также необходимо иметь возможности moodle/course:create, moodle/course:update и, возможно, moodle/course:delete.)

  1. Перейдите в Управление > Администрирование > Курсы > Загрузка курсов.
  2. Перетащите файл CSV или нажмите кнопку «Выбрать файл» и выберите файл в окне выбора файла.
  3. Внимательно выберите соответствующие настройки импорта, затем нажмите кнопку предварительного просмотра.
Экран загрузки курсов для администратора
Курсы успешно загружены

Примечание: также можно использовать инструмент командной строки admin/tool/uploadcourse/cli/uploadcourse.php.

При использовании веб-интерфейса используйте опцию Предварительный просмотр, чтобы увидеть, были ли обнаружены ошибки в просматриваемых строках. Если вы продолжите загрузку и с курсом будет обнаружено что-то неверное, он будет проигнорирован.

Пример короткого файла

uploadcourse.csv:

Примечание: краткое название, полное имя и категория обязательны.

Поле «Категория» принимает идентификатор категории, при этом категория «Разное» по умолчанию имеет идентификатор 1. Категории должны существовать заранее. Если вы укажете несуществующий идентификатор категории, вы получите ошибку «Не удалось определить категорию по идентификатору» во время предварительного просмотра загрузки, и курсы в этой категории не будут созданы.

shortname,fullname,category,summary,enrolment_1,enrolment_1_role,enrolment_1_enrolperiod,role_student
courserestored,Курс восстановлен,1,краткое описание,manual,student,1 месяц,
courserestored2,Курс восстановлен 2,1,краткое описание,,,,
courserestored3,Курс восстановлен 3,1,краткое описание,,,,padawan
courserestored4,Курс восстановлен 4,1,"краткое описание, с запятой",manual,student,1 месяц,padawan

Обратите внимание, что между элементами нет пробелов.

Создание текстового файла

Текстовый файл для загрузки курсов должен быть файлом CSV. Он принимает следующие столбцы, которые разделены на две категории: информация о курсе и действия с курсом.

Поля информации о курсе

Большинство этих настроек доступны на странице настроек курса. См. Настройки курса для получения дополнительной информации. Названия полей должны быть в нижнем регистре.

shortname
Краткое название

fullname
Полное имя

idnumber
Идентификатор курса

category
Это идентификатор категории в базе данных (находится в URL категории), в которую помещается курс. Это имеет приоритет над category_idnumber и category_path.

category_idnumber
Идентификатор категории (находится и редактируется на странице «Редактировать категорию»), в которую помещается курс. Это имеет приоритет над category_path.

category_path
Путь к категории, в которую помещается курс. Если вы хотите поместить курс в категорию с названием «Научная фантастика», которая находится в категории «Фильмы», значение, которое нужно указать: Фильмы / Научная фантастика. Обратите внимание, что разделитель должен быть [space]/[space]. Также обратите внимание, что категория ДОЛЖНА существовать, она не будет создана. Если вы хотите поместить курс в категорию верхнего уровня «Фильмы», значение, которое нужно указать: Фильмы

visible
1, если курс виден, 0, если скрыт

startdate
Время начала курса. Обратите внимание, что это значение передаётся в функцию PHP strtotime для генерации временной метки. Вы можете использовать локализованный формат времени, основанный на настройках вашего сервера, но стандартный формат даты ISO всегда будет работать, например: 2021-05-17 (это 17 мая 2021 года). Вам не нужно использовать кавычки для этого поля при использовании этого формата.

enddate
Время окончания курса. Обратите внимание, что это значение должно быть отформатировано правильно, как и startdate. Например: 2022-11-14.

summary
Краткое описание курса

format
Формат курса для использования, это должно быть допустимое имя плагина формата курса. Например, weeks, topics.

theme
Тема для использования

lang
Язык для использования

newsitems
Количество новостей

showgrades
1, чтобы показать журнал оценок студентам, 0, чтобы скрыть его.

showreports
1, чтобы показать отчёты по элементам, 0, чтобы скрыть их.

legacyfiles
1, чтобы включить устаревшие файлы курса, 0 — нет.

maxbytes
Максимальный размер загрузки курса в байтах. Используйте 0 для ограничения сайта.

groupmode
0 для Нет групп, 1 для Изолированных групп и 2 для Видимых групп.

groupmodeforce
1, чтобы принудительно установить групповой режим, в противном случае введите 0.

enablecompletion
1, чтобы включить выполнение элементов курса, 0 — нет.

downloadcontent
1, чтобы разрешить загрузку содержимого курса, 0 — нет.

tags
Список тегов, разделённых запятыми, для добавления к курсу. Существующие теги будут удалены. Несколько тегов заключайте в кавычки.

showactivitydates
1, чтобы показывать даты активности на странице курса, 0 — нет.

Поля зачисления

Некоторые поля могут быть сконструированы для включения и настройки способов зачисления. Поля должны называться enrolment_[number] для имени метода зачисления и enrolment_[number]_property для его свойств.

enrolment_[number]
Имя метода зачисления (например, manual, guest, self)

enrolment_[number]_delete
1, чтобы удалить этот метод зачисления из курса, если установлено значение 1, все остальные свойства будут проигнорированы.

enrolment_[number]_disable
1, чтобы отключить этот метод зачисления в курсе, если установлено значение 1, все остальные свойства будут проигнорированы.

enrolment_[number]_startdate
Дата начала зачисления. Это значение передаётся в функцию PHP strtotime().

enrolment_[number]_enddate
Дата окончания зачисления. Это значение передаётся в функцию PHP strtotime().

enrolment_[number]_enrolperiod
Количество секунд или, если не значение, понимаемое strtotime(), например, «4 дня».

enrolment_[number]_role
Краткое название роли

enrolment_[number]_[property]
Где свойство понимается указанным методом зачисления

enrolment_[number]_password
Кодовое слово для зачисления на курс

Пример

enrolment_1: manual
enrolment_1_role: student
enrolment_1_enrolperiod: 1 месяц

enrolment_2: self
enrolment_2_startdate: 2013-01-30

Зачисление в глобальную группу

Чтобы использовать зачисление в глобальную группу через CSV, используйте следующие поля:

  • enrolment_N — обязательно. Должно быть 'cohort', если вы хотите загрузить курс с методом зачисления синхронизации с глобальной группой.
  • enrolment_N_cohortidnumber — обязательно. Идентификатор глобальной группы. Глобальная группа с этим идентификатором должна существовать в системе. Примечание: это значение поля идентификатора глобальной группы и может быть не числовым.
  • enrolment_N_role — обязательно. Краткое название роли.
  • enrolment_N_addtogroup — необязательно. Для добавления глобальных групп в группу на курсе.
    • Если не задано